Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DF behaviour: Allow zero-horizon windows/views #13

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

nmnobre
Copy link
Member

@nmnobre nmnobre commented Jun 26, 2020

This aims at supporting zero-horizon windows in OpenStream programs. The behaviour should be semantically equivalent to not referencing the respective stream at all in the task creation statement.

@a-pop commit 46ab217 removes an assertion in wstream_df_resolve_n_dependences(). This allows my programs to run but it will obviously cause problems. In particular, I can no longer use the peek clause, instead having to resort to a zero-burst input.

@a-pop There is an odd zero-decrease call to tdecrease_n() after I modified wstream_df_resolve_dependences() and __built_in_wstream_df_prepare_data so I added a guard to tdecrease_n(). Is this okay? There's probably a better fix once we know the reason for that call.

@Richard549 This bypasses trace state changes on both tdecrease_n() and wstream_df_resolve_dependences() on early exists, can you please check if this is okay?

@nmnobre nmnobre added enhancement New feature or improvement runtime Runtime related issue labels Jun 26, 2020
@nmnobre nmnobre requested review from Richard549 and a-pop June 26, 2020 11:30
@nmnobre
Copy link
Member Author

nmnobre commented Jun 30, 2020

The solution proposed here is, nevertheless, less than ideal. The compiler should produce code to prevent the creation of zero-horizon views altogether in the first place.

Copy link
Contributor

@Richard549 Richard549 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tracing state transitions are fine, if there are no dependences to resolve then we can avoid swapping in/out of the dependency-resolution state.

(After looking at it, I have also included the code that appends the view to the chain in the state, and included it in the PR.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or improvement runtime Runtime related issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants